#ifndef PLC2LLVM_STRATEGY_H
#define PLC2LLVM_STRATEGY_H

#include <any>
#include <ParserRuleContext.h>
#include <plc2llvm/Visitor/Visitor.h>

//策略类的基类
class Strategy {
public:
    void registerMe(int ruleIndex);

    virtual std::any invoke(antlr4::ParserRuleContext* parserCtx, Visitor* visitor) = 0;

    virtual ~Strategy()=default;
};

#endif
